import scala.io.StdIn

object TestIfElse {
  def main(args: Array[String]): Unit = {

    /**
     * Scala中if else表达式其实是有返回值的，具体返回值取决于满足条件的
     * 代码体的最后一行内容。
     * ：Scala中返回值类型不一致的时候，取它们共同的祖先类型。
     */
    println("input age")
    var age = StdIn.readInt()

    val res: Any = if (age < 18) {
      "童年"
    } else if (age >= 18 && age < 30) {
      "中年"
    } else {
      100
    }
    println(res)

    /**
     * 如果大括号{}内的逻辑代码只有一行，大括号可以省略。如果省略大括号，if只对最近
     * 的一行逻辑代码起作用。
     * */
    // Java
    // int result = flag?1:0

    // Scala
    println("input age")
    var age1 = StdIn.readInt()
    val res1: Any = if (age1 < 18) "童年" else "成年"
    "不起作用"

    println(res)
  }
}
